/*
     raw os - Copyright (C)  Lingjun Chen(jorya_txj).

    This file is part of raw os.

    raw os is free software; you can redistribute it it under the terms of the 
    GNU General Public License as published by the Free Software Foundation; 
    either version 3 of the License, or  (at your option) any later version.

    raw os is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 
    without even the implied warranty of  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  
    See the GNU General Public License for more details.

    You should have received a copy of the GNU Lesser General Public License
    along with this program. if not, write email to jorya.txj@gmail.com
                                      ---

    A special exception to the LGPL can be applied should you wish to distribute
    a combined work that includes raw os, without being obliged to provide
    the source code for any proprietary components. See the file exception.txt
    for full details of how and when the exception can be applied.
*/


/* 	2012-4  Created by jorya_txj
  *	xxxxxx   please added here
  */

#include <raw_api.h>

RAW_U8		raw_os_active;
RAW_U8		idle_task_exit;

RAW_RUN_QUEUE  raw_ready_queue;

/*System  lock*/
RAW_U8  raw_sched_lock;
RAW_U8  raw_int_nesting;

/*highest ready task object*/
RAW_TASK_OBJ	*high_ready_obj;

/*current active task*/
RAW_TASK_OBJ  *raw_task_active;

/*idle attribute*/
RAW_TASK_OBJ 	raw_idle_obj;
PORT_STACK idle_stack[IDLE_STACK_SIZE];

/*tick attribute*/
RAW_U32 raw_tick_count;
LIST tick_head[TICK_HEAD_ARRAY];

#if (CONFIG_RAW_TIMER > 0)

LIST timer_head[TIMER_HEAD_NUMBERS];
RAW_U32	raw_timer_count;
RAW_TASK_OBJ  raw_timer_obj;
PORT_STACK timer_task_stack[TIMER_STACK_SIZE];
RAW_SEMAPHORE timer_sem;

#endif


#if (RAW_SYSTEM_CHECK > 0)
RAW_SYSTEM_DEBUG system_debug;
#endif

